[新機能プレビュー] Amazon Q in QuickSight Scenarios で既存のシナリオにデータをダッシュボードで追加してみた

[新機能プレビュー] Amazon Q in QuickSight Scenarios で既存のシナリオにデータをダッシュボードで追加してみた

直接 CSV ファイルをアップロードしたデータと、ダッシュボードから取り込んだデータを合わせて推論が可能でした。 データを組み合わせた分析を行わせる場合は内部的にデータを結合するため、プライマリキーの型を一致させる必要があります。
Clock Icon2024.12.31

コーヒーが好きな emi です。

以下ブログで現在パブリックプレビュー中の Amazon Q in QuickSight Scenarios で新規シナリオの作成をやってみました。
https://dev.classmethod.jp/articles/new-feature-preview-q-in-quicksight-scenarios-csv/

シナリオで使用するデータはいくつか追加でアップロードできます。アップロードできるファイルの形式や数などのクオータについては アップロードするファイルの注意 を参照ください。

今回は既存のデータファイルに追加で作成済みのダッシュボードを追加し、複数のデータを合わせた推論ができるか試してみました。

先に結果

直接 CSV ファイルをアップロードしたデータと、ダッシュボードから取り込んだデータを合わせて推論が可能でした。
データを組み合わせた分析を行わせる場合は内部的にデータを結合するため、プライマリキーの型を一致させる必要があります。

構成図と既存のシナリオ

アップロード済みの「sweets_with_status.csv」と「instant_food.csv」でシナリオを作成済みです。
S3 バケットに格納した CSV ファイルを Athena 経由で直接クエリしダッシュボードを作成します。このダッシュボードを既存シナリオに読み込みます。
q-in-quicksight-scenarios-add-date-dashboard_36

既存シナリオの詳細は [新機能プレビュー] Amazon Q in QuickSight Scenarios で既存のシナリオにデータをアップロードで追加してみた | DevelopersIO を参照ください。

ダッシュボードを作成する

S3 のデータを Athena でクエリする

S3 バケットに CSV ファイル「sweets_with_status2.csv」をアップロードしておきます。
q-in-quicksight-scenarios-add-date-dashboard_1

Athena で S3 の CSV ファイルのテーブルを作成します。今回は簡単なダッシュボードができれば良いので パーティション射影(Partition Projection) などは行っていません。

CREATE EXTERNAL TABLE IF NOT EXISTS `default`.`sweets_with_status2` (
  `datetime` timestamp,
  `department` string,
  `section` string,
  `scone` int
)
ROW FORMAT DELIMITED 
  FIELDS TERMINATED BY ',' 
STORED AS TEXTFILE
LOCATION 's3://qs-athena-test-csv-virginia-emikitani/sweets_with_status2/'
TBLPROPERTIES ('skip.header.line.count'='1')

テーブルができたら S3 のデータが表示できるか試します。

SELECT * FROM "default"."sweets_with_status2" limit 10;

見えました。
q-in-quicksight-scenarios-add-date-dashboard_2

QuickSight でダッシュボードを作成する

QuickSight 側でダッシュボードを作成する前に、S3 バケットへのアクセスを許可しておきます。
q-in-quicksight-scenarios-add-date-dashboard_3

「新しいデータセット」から Athena データセットを作成します。
q-in-quicksight-scenarios-add-date-dashboard_4

作成済みの Athena テーブルにチェックされていることを確認しデータをプレビューします。
q-in-quicksight-scenarios-add-date-dashboard_5

データが見えていますね。保存して視覚化をクリックし、分析を作成していきます。
q-in-quicksight-scenarios-add-date-dashboard_6

課ごとのスコーンの在庫を折れ線グラフで視覚化しました。公開してダッシュボードを作成します。
q-in-quicksight-scenarios-add-date-dashboard_7

名前を付けて公開します。Q in QuickSight の Data Story と Exective Summary を有効にするか否かのチェックは今回つけてもつけなくても良いです。デフォルトでチェックされているのでそのまま今回は進めました。
q-in-quicksight-scenarios-add-date-dashboard_8

ダッシュボードができました。これを、シナリオに追加で取り込んでいきます。
q-in-quicksight-scenarios-add-date-dashboard_9

シナリオにダッシュボードを追加する

既存のシナリオを開き、データタブから「FIND DATA」をクリックします。
q-in-quicksight-scenarios-add-date-dashboard_10

作成したダッシュボードが表示されるので、チェックを入れて「適用」をクリックします。
q-in-quicksight-scenarios-add-date-dashboard_11

すると、選択したのは折れ線グラフのダッシュボードをでしたが、テーブル形式のデータが表示されました。
フィルタなどの操作もできそうです。
「FieldsIcon」と書かれているマークをクリックすると、カラム名が表示されました。
q-in-quicksight-scenarios-add-date-dashboard_12

部署(department)が表示されていないようだったので、クリックして表示させました。
「ADD DATA」でデータを追加します。
q-in-quicksight-scenarios-add-date-dashboard_13

10 秒待たないくらいでデータを追加できました。
q-in-quicksight-scenarios-add-date-dashboard_14

部署(department)名、課(section)名の場所が気に入らなかったので並べ替えておきます。
q-in-quicksight-scenarios-add-date-dashboard_15

並べ替えました。良い感じです。
q-in-quicksight-scenarios-add-date-dashboard_16

追加したデータと既存のデータ両方に関連するプロンプトを入力する

ではシナリオ側でプロンプトを入力します。
「What is the relationship between coffee inventory and scone inventory?(コーヒーの在庫とスコーンの在庫の関係は?)」
と入力しました。
q-in-quicksight-scenarios-add-date-dashboard_17

2 分ほどで推論が完了しました。

▼現在のデータではタイムスタンプや部門が異なると言われてしまいました。
q-in-quicksight-scenarios-add-date-dashboard_18

Step 1: Let's start by looking at the data we have available for coffee and scone inventory to see if we can analyze their relationship.
To analyze the relationship between coffee and scone inventory, we need to merge the datasets based on common columns (datetime, department, section). However, the current data samples show different timestamps and departments, making it challenging to establish a direct relationship. More comprehensive data or a specific time range for analysis would be helpful. You can try editing the block through popover.
(機械翻訳)ステップ 1: まず、コーヒーとスコーンの在庫データから、その関係を分析しましょう。コーヒーとスコーンの在庫の関係を分析するには、共通の列(日時、部門、セクション)に基づいてデータセットをマージする必要があります。しかし、現在のデータサンプルでは、タイムスタンプや部門が異なるため、直接的な関係を確立するのは困難である。より包括的なデータ、または特定の時間範囲を分析できると便利です。ポップオーバーからブロックを編集してみてください。

datetime の型を調整する

「instant_food.csv」の datetime 形式と「sweets_with_status2 dashboard」の datetime 形式は同じように見えます。部署や課も同じです。違うのはスコーンの個数が入っていることだけ…何が違うのでしょう?
q-in-quicksight-scenarios-add-date-dashboard_19

実は Athena テーブル作成の際に心当たりがありました。CSVファイルでは datetime の形式を「2024-10-16 17:00:00.000」などとしていたのですが、テーブル作成で型を date にすると時間が潰れて日付だけになってしまったのです。
q-in-quicksight-scenarios-add-date-dashboard_20

q-in-quicksight-scenarios-add-date-dashboard_21

なので、今回は Athena テーブル作成時 datetime の型は timestamp 型としていました。

シナリオ側で設定できる時間の型は「Date」だけみたいです。なのでシナリオ側で見ると datetimeDate 型に見えます。
一旦、datetimestring 型に変更し、その後また date 型に戻すという操作を行ってみました。見た目は変わらないのですが。
q-in-quicksight-scenarios-add-date-dashboard_22
q-in-quicksight-scenarios-add-date-dashboard_23

推論を再試行

再度シナリオに戻り、先ほどのブロックを Modify block で編集します。プロンプトは先ほどと同じ
「What is the relationship between coffee inventory and scone inventory?(コーヒーの在庫とスコーンの在庫の関係は?)」
と入力しました。
q-in-quicksight-scenarios-add-date-dashboard_24

2 分ほどで推論が終わりました。
q-in-quicksight-scenarios-add-date-dashboard_25

Step 1: Combine the coffee and scone inventory data into a single dataset for analysis.
The merged data shows that instant coffee and scone inventories appear to be identical for each department and section at the given timestamps. This unusual pattern might require further investigation or confirmation of data accuracy.
(機械翻訳)ステップ 1:コーヒーとスコーンの在庫データを 1 つのデータセットに統合し、分析する。統合されたデータから、インスタント・コーヒーとスコーンの在庫は、指定されたタイムスタ ンプにおいて、各部門とセクションで同一であることがわかる。このような異常なパターンは、さらなる調査やデータの正確性の確認が必要かもしれない。

今度はデータを統合できたみたいです。
コーヒーとスコーンの在庫数は同一になっており、意図したデータかどうか確認が求められました。

Step2

Step 2: We've noticed that the coffee and scone inventory levels are identical for each department and section at the given timestamps. This is an unusual pattern that we'd like to confirm with you. Is this expected, or could there be an issue with the data? You can try editing the block through popover to provide more context or updated data if necessary.
Thank you for providing the merged data. Upon analysis, we've noticed an unusual pattern: the inventory levels for instant coffee and scones are identical for each department and section at the given timestamps. This is quite unexpected in a real-world scenario.
For example:

  • データベース部 (Database Dept.), DocumentDB課: 29.0 for both coffee and scones
  • データベース部 (Database Dept.), DynamoDB課: 24.0 for both coffee and scones
  • コンピューティング部 (Computing Dept.), EC2課: 20.0 for both coffee and scones
    This pattern continues for all entries in the sample data provided.

(機械翻訳)ステップ2:コーヒーとスコーンの在庫レベルが、指定されたタイムスタンプにおいて、各部門とセクションで同一であることに気づきました。これは珍しいパターンなので、貴社に確認したいと思います。これは予期されたことなのでしょうか、それともデータに問題があるのでしょうか?必要であれば、ポップオーバーからブロックを編集して、より詳細なコンテキストや更新データを提供してみてください。マージされたデータをご提供いただきありがとうございます。分析したところ、珍しいパターンがあることに気づきました。インスタントコーヒーとスコーンの在庫レベルが、指定されたタイムスタンプにおいて、各部門とセクションで同じなのです。これは、実際のシナリオではかなり予想外のことです。例えば- データベース部(データベース課)、DocumentDB課:コーヒーもスコーンも29.0- データベース部 DynamoDB課:コーヒーもスコーンも24.0- コンピューティング部EC2課:コーヒーもスコーンも20.0このパターンは、提供されたサンプルデータのすべてのエントリで続いています。

Could you please clarify:

  1. Is this identical inventory pattern expected or intended?
  2. Could there be an issue with the data collection or recording process?
  3. If this is not the expected behavior, could you provide a corrected dataset or explain how the data should typically look?
    Understanding whether this is accurate data or if there's an issue with the recording process is crucial for providing a meaningful analysis of the relationship between coffee and scone inventory. You can try editing the block through popover to provide this clarification or corrected data.

(機械翻訳)明確にお願いします:1. この同一在庫パターンは予想されたものですか、それとも意図されたものですか?2. データ収集または記録プロセスに問題がある可能性はありますか?3. これが期待された動作でない場合、修正したデータセットを提供するか、データが通常どのように見えるべきかを説明してもらえますか?これが正確なデータなのか、記録プロセスに問題があるのかを理解することは、コーヒーとスコーンの在庫の関係を分析する上で非常に重要です。ポップオーバーでブロックを編集して、この説明や修正データを提供してみてください。

今回のデータは私が修正した際に少ししか変更しませんでした。このためデータが一致し過ぎてしまっているのは私のせいです。

▼スコーンの数
q-in-quicksight-scenarios-add-date-dashboard_26

▼コーヒーの数
q-in-quicksight-scenarios-add-date-dashboard_27

一応一部数字を変えているので、このままプロンプトを続けてみましょう。

「The similarity between coffee inventory and scone inventory is intentional. What is the relationship over time?(コーヒーの在庫とスコーンの在庫が似ているのは意図的です。時間経過の関係はどうですか?)」

と入力して次のブロックを作成します。
q-in-quicksight-scenarios-add-date-dashboard_28

推論中…
q-in-quicksight-scenarios-add-date-dashboard_29

3 分ほど待ちました。長いブロックになりましたね。
q-in-quicksight-scenarios-add-date-dashboard_30

結果を見ていきます。

▼ Step1 ではスコーンとコーヒーの在庫の時間遷移を図示し、強い相関があることを述べています。
q-in-quicksight-scenarios-add-date-dashboard_31

Step 1: We'll create a graph showing how coffee and scone inventory levels change over time. This will help us visualize their relationship and any patterns that might exist.
The correlation between coffee and scone inventory levels is extremely high at 0.996, indicating a very strong positive relationship between the two inventories over time.
(機械翻訳)ステップ1:コーヒーとスコーンの在庫レベルが時間とともにどのように変化するかを示すグラフを作成する。これにより、両者の関係や存在する可能性のあるパターンを視覚化することができる。コーヒーとスコーンの在庫レベルの相関は0.996と非常に高く、この2つの在庫の間には経時的に非常に強い正の関係があることを示している。

▼ Step2 でも同じようなことをしているみたいです。「rolling correlation」は「ローリング相関」という統計手法らしいです。
q-in-quicksight-scenarios-add-date-dashboard_32

Step 2: We'll examine how the relationship between coffee and scone inventories changes over different time periods. This will help us understand if the strong correlation we observed is consistent or if it varies at certain times.
The analysis shows a consistently high rolling correlation of 0.996 between coffee and scone inventories over the observed time period, indicating a very stable and strong relationship between the two inventories.
(機械翻訳)ステップ2:コーヒーとスコーン在庫の関係が、異なる期間にわたってどのように変化するかを調べる。これにより、今回観察された強い相関関係が一貫しているのか、それともある時期によって変化するのか を理解することができる。分析の結果、コーヒー在庫とスコーン在庫の間には、観察された期間を通じて一貫して 0.996 という高い相関関係が見られ、2 つの在庫の間には非常に安定した強い関係があることがわかった。

▼ Step3 ではスコーンとコーヒーの相関を部門ごとに分析して示しています。
q-in-quicksight-scenarios-add-date-dashboard_33

Step 3: We'll examine how the relationship between coffee and scone inventories varies across different departments and sections of the company. We'll also check if changes in one inventory tend to happen before changes in the other. This will give us a more detailed understanding of the inventory relationship throughout the company.
Still analyzing... Hang tight...
The analysis reveals strong positive correlations between coffee and scone inventories across all departments (mean correlation: 0.96) and sections (mean correlation: 0.95). The lag analysis shows perfect correlations (1.0) for 1-hour lags in most cases, suggesting a very tight, synchronous relationship between coffee and scone inventories throughout the company.
(機械翻訳)ステップ3:コーヒーとスコーンの在庫の関係が、社内のさまざまな部署やセクションでどのように異なるかを調べます。また、一方の在庫の変動が他方の在庫の変動より先に起こる傾向があるかどうかを確認する。こうすることで、会社全体の在庫関係をより詳細に理解することができる。まだ分析中...
分析の結果、すべての部門(平均相関:0.96)とセクション(平均相関:0.95)において、コーヒーとスコーン在庫の間に強い正の相関関係があることが明らかになった。ラグ分析では、ほとんどのケースで1時間のラグで完全な相関(1.0)を示しており、会社全体でコーヒーとスコーン在庫の間に非常に緊密な同期関係があることを示唆している。

q-in-quicksight-scenarios-add-date-dashboard_34

▼ Step4 では調査結果を示し、最後に事業運営への影響としてまとめてくれました。
q-in-quicksight-scenarios-add-date-dashboard_35

Step 4: We'll provide a comprehensive summary of all our findings, explaining what we've learned about how coffee and scone inventories relate to each other over time and in different parts of the company. This will include our observations on the overall relationship, how stable it is, any differences we found between departments or sections, and whether changes in one inventory tend to precede changes in the other. We'll also discuss what these findings might mean for the company's inventory management or operations.
(機械翻訳)ステップ4:すべての調査結果を包括的にまとめ、コーヒーとスコーンの在庫が、時間の経過とともに、また社内のさまざまな場所でどのように関係し合っているかについて、わかったことを説明する。これには、全体的な関係性、その安定性、部門間や部署間で見られた違い、一方の在庫の変化が他方の在庫の変化に先行する傾向があるかどうかなどについての見解が含まれる。また、これらの発見が会社の在庫管理やオペレーションにとってどのような意味を持つかについても議論する。

分析結果のまとめと事業運営への影響

Based on our comprehensive analysis of coffee and scone inventories, we can draw several key insights:

  1. Strong Overall Correlation:
    There is an extremely strong positive correlation (0.996) between coffee and scone inventories across the company. This indicates that as coffee inventory levels change, scone inventory levels tend to change in the same direction and by a similar magnitude.
  2. Consistency Across Departments:
    The relationship between coffee and scone inventories is consistently strong across all departments, with an average correlation of 0.96. This suggests that the relationship is not isolated to specific areas of the company but is a company-wide phenomenon.
  3. Section-Level Variations:
    While the correlation remains strong at the section level (average 0.95), there is slightly more variation here. Correlations range from a minimum of 0.78 to a maximum of 1.0, indicating that some sections may have an even tighter relationship between coffee and scone inventories than others.
  4. Temporal Stability:
    The rolling correlation analysis shows a very stable relationship over time, with the correlation remaining consistently high. This suggests that the relationship between coffee and scone inventories is not just a short-term coincidence but a persistent pattern.
  5. Immediate Relationship:
    The lag analysis reveals perfect correlations (1.0) for 1-hour lags in most cases. This indicates that changes in coffee and scone inventories occur almost simultaneously, with no significant lead or lag between them.

(機械翻訳)コーヒーとスコーンの在庫の包括的な分析に基づき、いくつかの重要な洞察を導き出すことができる:

  1. 強い全体的相関:コーヒー在庫とスコーン在庫の間には、全社的に極めて強い正の相関関係(0.996)がある。これは、コーヒーの在庫水準が変化すると、スコーン在庫水準も同じ方向に、同程度の大きさで変化する傾向があることを示している。
  2. 部門間の一貫性:コーヒー在庫とスコーン在庫の関係は、すべての部門で一貫して強く、平均相関は 0.96 である。このことは、この関係が社内の特定の分野に限定されたものではなく、全社的な現象であることを示唆している。
  3. 課レベルのばらつき:セクション・レベルのばらつき:セクション・レベル(平均0.95)では相関関係は依然として強いが、ここではややばらつきがある。相関関係は最小0.78から最大1.0まであり、セクションによってはコーヒーとスコーンの在庫が他のセクションよりも密接に関係している可能性があることを示している。
  4. 時間的安定性:時間的安定性:相関分析によると、コーヒーとスコーン在庫の時間的安定性は非常に高く、一貫し て高い相関を維持している。このことは、コーヒーとスコーンの在庫の関係が単なる短期的な偶然ではなく、持続的なパ ターンであることを示唆している。
  5. 直接的な関係:ラグ分析では、ほとんどのケースで 1 時間のラグに完全な相関(1.0)が見られる。これは、コーヒー在庫とスコーン在庫の変化はほぼ同時に発生し、その間に有意なリードやラ グはないことを示している。

課レベルでの多少のばらつきについては言及してくれていますね。

Implications for Business Operations:

  1. Synchronized Inventory Management:
    The strong, consistent correlation suggests that coffee and scone inventories could be managed as a pair. When restocking or forecasting demand for one, consider the other as well.
  2. Potential for Bundled Sales:
    The tight relationship might indicate that customers often purchase coffee and scones together. This could present an opportunity for bundled promotions or package deals.
  3. Operational Efficiency:
    The synchronous nature of the inventory changes could allow for streamlined ordering and stocking processes, potentially reducing overhead in inventory management.
  4. Department-Specific Strategies:
    While the relationship is strong across all departments, the slight variations at the section level could inform tailored inventory strategies for different areas of the company.
  5. Predictive Power:
    The stability of the relationship over time suggests that coffee inventory levels could be used as a reliable predictor for scone inventory needs, and vice versa.
    This unusually strong and consistent relationship between coffee and scone inventories across time and company divisions suggests a deeply ingrained pattern in your business operations or customer behavior. It may be worth investigating the underlying causes of this relationship, as it could reveal important insights about your business model or customer preferences

(機械翻訳)事業運営への影響

  1. 在庫管理の同期化:強い一貫した相関関係は、コーヒーとスコーンの在庫を一対として管理できることを示唆している。片方の在庫を補充するときや需要を予測するときは、もう片方も考慮する。
  2. バンドル販売の可能性:顧客はコーヒーとスコーンを一緒に購入することが多い。これは、セット販売やパッケージ販売のチャンスとなる可能性がある。
  3. オペレーションの効率化:在庫変動が同期的に行われるため、発注や仕入れのプロセスが合理化され、在庫管理のオーバーヘッドが削減される可能性がある。
  4. 部門別戦略:この関係は全部門で強固なものであるが、セクションレベルでのわずかな差異が、会社のさまざまな分野に合わせた在庫戦略をもたらす可能性がある。
  5. 予測力:長期にわたる関係の安定性は、コーヒーの在庫レベルがスコーン在庫の必要性の信頼できる予測因子として使用できること、またその逆も同様であることを示唆している。

コーヒーとスコーンの在庫の間には、時間や会社の部門を越えて、このように異常に強く一貫した関係があることから、貴社の業務や顧客行動に深く根付いたパターンがあることが示唆される。ビジネスモデルや顧客の嗜好に関する重要な洞察を明らかにする可能性があるため、この関係の根本的な原因を調査する価値があるかもしれません。

終わりに

直接 CSV ファイルをアップロードしたデータと、ダッシュボードから取り込んだデータ(直接クエリ)を合わせて推論が可能でした。
データを組み合わせた分析を行わせる場合は内部的にデータを結合するため、プライマリキーの型を一致させる必要があります。
今回のような時間単位のデータだと Date 型の扱いは内部的にどうなるのか気になりましたが、様々なデータをシナリオに統合して推論できるのは良いですね。

ちなみに、この検証が終わった後シナリオを削除してみたのですが、「削除しますか?」などの問いかけはなくスンッとすぐに消えてしまったので、削除する際は注意してください。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.